Multi-User Game

ABSTRACT

A method of controlling a multi-user game, comprising: receiving non-game information concerning the technical capabilities of a first device; and providing game play at the first device, in dependence upon the received non-game information, that compensates for the technical capabilities of the first device. A method of initiating a multi-user game that has a plurality of potential roles, the method comprising: specifying a first sub-set of the plurality potential roles; specifying a second sub-set of the plurality potential roles, that is different to the first sub-set; providing, if a first device has first technical capabilities, the first sub-set of potential roles to the first device; and providing, if a second device has second technical capabilities, different to the first technical capabilities, the second sub-set of potential roles to the second device.

CROSS REFERENCE TO RELATED APPLICATION

This application is for entry into the U.S. national phase under §371 for International Application No. PCT/IB2004/003002 having an international filing date of Sep. 2, 2004, and from which priority is claimed under all applicable sections of Title 35 of the United States Code including, but not limited to, Sections 120, 363 and 365(c).

FIELD OF THE INVENTION

Embodiments of the present invention relate to a multi-user game. In particular, they relate to methods, servers, devices and computer program products for controlling and playing a game.

BACKGROUND TO THE INVENTION

Mobile electronic devices are, in general, more limited in some respects than stationary devices. This is often due to size and power consumption restraints that are necessarily imposed on mobile devices, and in particular hand-portable mobile devices.

As a mobile electronic device typically has a limited screen size, and limited processor power it cannot typically compete in an online multi-user game in which stationary devices, with larger screens and more powerful processors compete. Examples of stationary devices include personal computers and PLAYSTATION and X-BOX consoles. Consequently popular online games are very often reserved for only stationary devices.

Also, online games that are designed for mobile devices are typically not suitable for playing using a powerful stationary device as they do not use the full capabilities of such a device.

BRIEF DESCRIPTION OF THE INVENTION

It would be desirable to enable heterogeneous gaming platforms (stationary devices as well as mobile devices) to participate in an online game.

According to one embodiment of the invention there is provided a method of controlling a multi-user game, comprising: receiving non-game information concerning the technical capabilities of a first device; and providing game play at the first device, in dependence upon the received non-game information, that compensates for the technical capabilities of the first device.

According to another embodiment of the invention there is provided a device for controlling a multi-user game, the device comprising: a component for receiving non-game information concerning the technical capabilities of a first device; and a component for providing game play at the first device, in dependence upon the received non-game information, that compensates for the technical capabilities of the first device.

According to another embodiment of the invention there is provided a gaming device for participating in a multi-user game, the gaming device comprising: a component for providing information concerning the technical capabilities of the gaming device; and a component receiving game control data that includes compensation for the technical capabilities of the gaming device.

According to another embodiment of the invention there is provided a computer program, comprising computer program instructions which when loaded into a processor of a host device provide: a component for providing information indicating the technical capabilities of the host device; and a component for receiving game control data that includes compensation for the technical capabilities of the host device.

According to another embodiment of the invention there is provided a computer program, comprising computer program instructions which when loaded into a processor of a host device provide: a component for providing game play, in dependence upon received non-game information concerning the technical capabilities of a device, that compensates for the technical capabilities of the device.

The compensation of the technical capabilities, allows device, having different technical capabilities, to compete fairly in a single game.

According to another embodiment of the invention there is provided a method of initiating a multi-user game that has a plurality of potential roles, the method comprising: specifying a first sub-set of the plurality of potential roles; specifying a second sub-set of the plurality potential roles, that is different to the first sub-set; providing, if a first device has first technical capabilities, the first sub-set of potential roles to the first device; and providing, if a second device has second technical capabilities, different to the first technical capabilities, the second sub-set of potential roles to the second device.

According to another embodiment of the invention there is provided a gaming server for controlling a multi-user game that has a plurality of potential roles, comprising: a data structure that associates each one of a plurality of device technical capabilities with a different sub-set of the plurality of potential roles; a component for receiving an indication of the technical capabilities of a device, from a remote device; a component for determining the sub-set associated with the received technical capabilities in the database; and means for assigning to the remote device a role in the game from within the determined sub-set.

According to another embodiment of the invention there is provided a method of initiating, at a device, a multi-user game that has a plurality of potential roles, the method comprising: sending an indication of the technical capabilities of the device to a game server; receiving, in reply, a sub-set of the plurality potential roles, wherein the sub-set depends upon the sent indication; and providing a user-selectable option, for adopting one of the roles specified by the received sub-set.

According to another embodiment of the invention there is provided a device for participating in a multi-user game that has a plurality of potential roles, comprising: a component for sending an indication of the technical capabilities of the device; a component for receiving, in reply, a sub-set of the plurality of potential roles, wherein the sub-set depends upon the sent indication; and means for providing a user-selectable option, for adopting one of the roles specified by the received sub-set.

The allocation of different roles to devices, having different technical capabilities, allows the devices to compete fairly in a single game albeit in different roles.

According to another embodiment of the invention there is provided a method of controlling a multi-user game, the method comprising: receiving first non-game information comprising time-variant information concerning the time-variant environment of a first device; providing game play at the first device, wherein the provided game play depends upon the received first non-game information.

According to another embodiment of the invention there is provided a device for controlling a multi-user game, the device comprising: a component for receiving first non-game information comprising time-variant information concerning the time-variant environment of the first client device; and a component for providing game play at the first device, wherein the provided game play depends upon the received first non-game information.

According to another embodiment of the invention there is provided a gaming device for participating in a multi-user game, the gaming device comprising: a component for proving non-game information comprising information concerning the environment of the gaming device; and a component for receiving game control data that depends upon the non-game information.

The use of environmental information to control the game allows a device with a particular environmental capability, such as mobility, to have game play that reacts to the mobility of the device. This may, in some embodiments, be used to compensate an inferior technical capability so that the mobile device can compete within the game.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the present invention reference will now be made by way of example only to the accompanying drawings in which:

FIG. 1 illustrates a multi-user gaming system;

FIG. 2 illustrates the process of role selection;

FIG. 3 illustrates the process of Action set determination; and

FIG. 4 is a schematic functional illustration of a gaming device

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

FIG. 1 illustrates a multi-user gaming system 2 that may be used by users 3, 5 to play a multi-user game. Examples of multi-user games include first person perspective games, role playing games, board games and arcade games. Although only two client devices 3, 5 are illustrated the system 2 may comprise many additional client devices.

The system 2 comprises a stationary gaming device 4 controlled by a user 3; a mobile gaming device 6 controlled by a user 5, a game server 8 that supports the multi-user game on the client devices 4, 6; and a network 10 interconnecting the mobile gaming device 6, the stationary gaming device 4 and the game server 10.

The mobile gaming device 6 operates as a client to the game server 8. It may be any suitable portable electronic device but is generally a hand-portable electronic device such as a mobile cellular telephone, a portable gaming terminal such as the Nokia N-Gage, or a personal digital assistant.

The mobile gaming device 6 comprises: a radio transceiver 20; a processor 22; a memory 24; a user input device 26; a display 28; an audio output device 30; and one or more accessories 32. The mobile gaming device typically comprises additional components to those illustrated.

The radio transceiver 6 may be a cellular telephone transceiver that communicates in a radio cellular telephone network 10 or it may be a low power radio transceiver that forms an ad-hoc connection to the network 10, for example using BLUETOOTH or WLAN technology. The processor 22 is typically one or more low power microprocessors that do not require cooling. The memory 24 may be any suitable form of memory and may include volatile and non-volatile memory. The user input device 26 is typically a touch screen, an ITU-T keypad, a joystick or other type of device that the user can operate while holding the mobile device 6. The display 28 is integrated into the device 6 and therefore has a limited size and resolution. The audio output device 30 may be a loudspeaker and/or a jack for headphones. The accessory 32 augments the functionality of the mobile device. It may be connected to the mobile device via a physical connection such as USB or via a short-range wireless connection such IrDa or BLUETOOTH. The accessory 32 may include a sensor, for example, it may include a GPS location system, a light meter for measuring ambient light, a temperature sensor, etc.

The processor 22 is connected for bi-directional communication with the radio transceiver 20, it is connected to read from and write to the memory 24, it is connected to receive input control signals from the user input device 26 and the accessory 32 and it is connected to provide control signals to the display 28 and audio output device 30.

The memory 24 comprises computer program instructions which when loaded into the processor 22 provides the described functionality of the mobile gaming device 6. The computer program instructions may be transferred to the memory 24 via an electromagnetic carrier signal or via a record medium such as a memory card or similar.

The stationary gaming device 4 operates as a client to the game server 8. It may be any suitable stationary electronic device but is generally a personal computer or dedicated gaming console such as, for example, a PLAYSTATION 1, PLAYSTATION 2 or X-BOX.

The stationary gaming device 4 comprises: a network adapter 40; a processor 42; a memory 44; a user input device 46; and an output interface 48 for connection to a television or to a monitor which provide a display and for connection to loudspeakers which provide audio output. The stationary gaming device typically comprises additional components to those illustrated.

The network adapter 40 may provide a reasonable bandwidth connection to the network 10. For example, it may provide a dial-up 56 kBit modem connection, or an ADSL or SDSL connection, or an Ethernet connection. The processor 42 is typically one or more high power microprocessors that may require cooling. The memory 44 may be any suitable form of memory and may include volatile and non-volatile memory. The user input device 66 is typically a connected device such as a gaming console, joystick etc. The output interface 48 operates to drive a high-resolution display and provide high quality audio output.

The processor 42 is connected for bidirectional communication with the network adapter 40, it is connected to read from and write to the memory 44, it is connected to receive input control signals from the user input device 46 and it is connected to provide control signals to the output interface 48.

The memory 44 comprises computer program instructions which when loaded into the processor 42 provides the described functionality of the stationary gaming device 4.

The computer program instructions may be transferred to the memory 44 via an electromagnetic carrier signal or via a record medium such as a memory card or similar.

The gaming server 8 operates as a server to the client devices 4, 6. The gaming server comprises: a network adapter 50; a processor 52; a memory 54. The gaming server typically comprises additional components to those illustrated.

The network adapter 50 provides a high bandwidth connection to the network 10. The processor 52 is typically one or more high power microprocessor that may require cooling. The memory 54 may be any suitable form of memory and may include volatile and non-volatile memory. The processor 52 is connected for bi-directional communication with the network adapter 50, and it is connected to read from and write to the memory 54.

The memory 54 comprises computer program instructions which when loaded into the processor 52 provides the described functionality of the gaming server 8. The computer program instructions may be transferred to the memory 54 via an electromagnetic carrier signal or via a record medium such as a memory card, DD-ROM, DVD-disc or similar.

The memory 54 comprises a database data structure 60 that is used in role determination and Action set determination. Each one of a plurality of game device indicators is associated with a respective set of roles that can be played by the device indicated. Each property vector for a role i played on a device j in a situation s(t) is associated with an Action set.

FIG. 4 is a schematic functional illustration of a gaming device 4, 6 and a server 8. The gaming device includes: a first software component 71 for handling communications with the server 8 in a non device-specific format; a second software component 72 for compiling a property vector; a third software component 73 for normalizing the property vector to make it device independent; a fourth software component 74 for transforming instructions received from the game server 8 in device independent format into a format usable at the device; and a fifth software component 75 that provides the game engine for playing the game.

The gaming server 8 includes: a first software component 81 for handling communications with the gaming devices in a non device-specific format; a second software component 82 for controlling log-in; a third software component 83 for role determination; a fourth software component 74 for Action set determination; and a fifth software component 75 that provides the game engine for playing the game.

The gaming server 8 enables gamers 3, 5 using devices 4, 6 having different technical capabilities to play the game on an equal basis, as the fairness (for winning and losing in a certain situation) can be balanced between the different gaming devices 4, 6. This is achieved by treating the different devices 4, 6 differently.

The user 3 of a first device 4 is only able to play certain roles that depend upon the technical capabilities of the first device 4 whereas the user 5 of a second device 6 is only able to play certain roles that depend upon the technical capabilities of the second device 6. The roles available on a particular device 4, 6 are typically dependent upon non time-variant technical capabilities of the device 4, 6 such as its gaming platform, its processor type, its display resolution, its average data transfer rate, its memory size or speed, the sensors of the device etc.

The different devices 4, 6 may also be treated differently by having compensation between the devices 4,6. For example, the information provided to a user 3 via the first device 4 and to a user 5 via the second device 6 may be different, the game play for the more powerful devices may be slowed down, the attributes of the same role played on different devices may be different. The information provided at the first device 4 may differ from that provided at the second device 6 in that more/less information is provided or different information is provided. For example, one device may clearly image game objects on the display whereas another may not, or one device may have a more limited field of view than another device. The attributes of a role may determine, for example, a role's strength, speed, rate of energy reduction as a consequence of receiving hits etc.

Compensation may be achieved by having a base level of compensation that is dependent upon the non time-variant technical capabilities of the device and any connected accessories, and a dynamic (time-variant) level of compensation that varies with time-variant parameters.

The time-variant parameters include time-variant technical parameters and time-variant environmental parameters. The time-variant technical parameters may for example include the current processing speed of the device, which may vary if the device carries out background tasks, and the data transfer rate to/from the server 8, and a change in the attached accessories 32. The time-variant environmental parameters may for example include sensor-based parameters such as location, temperature, lighting conditions, time, etc

As an example, differential clarity of view may be provided as base compensation at two different platforms and/or dynamic compensation at two different/similar platforms. The dynamic compensation may, for example, change as the relative ambient light conditions at the devices change.

As another example, a differential speed of response to user input may be provided as base compensation at two different platforms and/or dynamic compensation at two different/similar platforms. The dynamic compensation may, for example, change as the relative processing speed or data transfer rates of the devices change.

As a further example, a mobile device 6 may be provided with base compensation to improve its chances of competing successfully with a stationary device 4 playing the same role.

The processes of role selection and compensation may use a property vector. A property vector is a multi-dimensional vector that covers all parameter values that are required for the online game.

The property vector

p=(s,d) with sεIR^(n) and dεIR^(m)

is managed on every gaming device 4, 6, and this vector is composed of two major parts: a static component consisting of n static values s, which remain unchanged during a game; and a dynamic component consisting of m dynamic values d, which may change over time during a game.

The values of this vector are generally transformed to normalized values to enable a device-independent communication between different gaming devices 4, 6 and the server 8.

The static component specifies a device's non time-variant technical capabilities (gaming device ID, gaming platform ID, screen resolution, processor type, etc . . . ) and contains information about the device user (user ID, user name, further game data, . . . ) that does not change during a game. The static component may be used in role selection and, possibly, static compensation.

The dynamic component contains all the information that may dynamically change over time. This includes the time-variant technical parameters and the time-variant environmental parameters. The time-variant parameters are updated regularly e.g. using information from sensors of the device to update the time-variant environmental parameters and information about the device performance at that particular time (speed, data transfer rate) to update the time-variant technical parameters. The dynamic component may be used in dynamic compensation.

If a certain device does not support a specific dynamic time-variant parameter then the value in d corresponding to that time-variant parameter remains static during the game.

The process of role selection is illustrated in FIG. 2. The user 3, 5 of the client device 4,6 logs on to the gaming server 8 at step 200, to play the game. After the log-in process has been completed, the client device 4, 6 sends a ‘game device indicator’ to the server 8 at step 202. The ‘game device indicator’ indicates the static technical capabilities of the client device 4,6. It may be sent as part of the static component of the client device's property vector. The server 8, at step 204, queries the database using the received game device indicator and the database returns the associated set of roles available for a device of the indicated type. The client device 4,6 displays the set of roles to the user 3, 5 at step 206. The user 3, 5 selects at step 208 one of the available roles and the client device 4, 6 informs the server 8 of the selection. Then at step 210, the server 8 fixes the role of the client device 4,6 in the game for the duration of the game.

The property vector is used during game play for compensation. The static component may be used for base compensation. The role played by the user of the device in the game may depend upon certain values in the static component of the property vector and the base compensation may depend upon the role. Optionally, the base compensation may additionally depend upon other values in the static component of the property vector.

The dynamic component may be used for real-time dynamic compensation.

The manner in which a role interacts with a game is defined by an action set A_(ij)(s(t)), which is particular to a role i played on a device j within a certain game situation s(t). The action set changes dynamically over time t. The action set A (s(t)) depends upon a set of role capabilities R_(ij), which contains a collection of rules that define how a role i (on a gaming platform j) interacts with the game and includes within it any compensation between devices that is required. The Action set may, for example, specify: what information is provided to the user via the device during the game; the speed with which the device should respond to user input during game play; the attributes of the role for example, a character's strength, endurance, speed etc.

Let us consider an example in which a gamer is playing as role i with a mobile gaming device j 6. The game evolution (of this example) is just based on the location of the device 6. The location is obtained from a built-in GPS receiver 32 on the device 6. The Action A (s(t)) for a device at a certain position (x,y) in a certain game situation (s) is dependent on the current location of the device.

The real world is subdivided into a plurality of discrete real areas. Each real area is associated with a virtual area within the game. As the device 6 moves in real life, it moves from one real area to another.

As shown in FIG. 3, the device 6, regularly updates its property vector at step 300. If the updated property vector is the same as previously, as determined at step 302, the device waits at step 304 and then updates the property vector again at step 300. If the property vector has changed from its previous value as determined at step 302, the updated property vector is sent, at step 306, to the server 8. Thus as the location of the device 6 changes, the dynamic component of its property vector changes. The game server 8 receives the changing property vectors and from the value of the dynamic component relating to the device's location, it can determine when the device has crossed from one real area to another. The game server 8 obtains a new Action set from database 60 and uses it as the Action set for the device, at step 308. The new Action set is used by the fifth software component 75 that provides the game engine for playing the game. The game engine produces instructions that are sent to the device according to the new Action set, which cause the role in the game to cross from one virtual area to another.

Each virtual area is mapped to a different Action set. For example, one virtual area may correspond to a forest in the game and the Actions set is adapted to create gaming that has elements related to being in a forest. For example, the device may have reduced visibility of other players, may have reduced information, may be less visible to other players etc. Another virtual area may correspond to a city in the game and the Action set is adapted to create gaming that has elements related to being in a city. For example, the device may have extra information about other users and events. Another virtual area may correspond to a prairie in the game and the Action set is adapted to create gaming that has elements related to being in a prairie. For example, the device may have excellent visibility of other players but be visible to other players.

The manner in which the real world is divided into real areas may vary from role to role and device type to device type, but it is generally the same for all players of one specific role i who are using a certain gaming device j. Therefore two players playing on the same type of device in the same online game have the same sectioning of the landscape.

More complex scenarios are conceivable if more dynamic parameters are taken into consideration to adapt the Action set.

The selection of an appropriate Action set using a property vector, may be achieved by defining a vector space that is spanned by an Action vector comprising the situation s(t), the role i, and the property vector. Different volumes of the vector space spanned by the Action vector are associated with different Action sets. The server determines at a situation s(t) for a role i using the property vector last received from the device, which volume the Action vector terminates within and uses the Action set associated with that volume. This may be achieved using a different method v_(ij) of quantizing the property vector for each role (of gaming device j). Such quantization maps the high dimensional dynamic component (d) of the property vector to the lower dimensioned space of possible Action sets.

To further illustrate the invention, an example of how the invention may be used, will now be described. Jane 5 has a mobile cellular telephone 4 which she wants to use to play the multi-user medieval adventure “Störtebecker 1401” with one of her friends Joe 3, who has a stationary gaming device 4.

Jane 5 uses her mobile telephone 6 to log on to a remote game server 8 that supports the game. Her mobile telephone 6 compiles a property vector for her device 6 and sends at least the static component to the game server 8. The game server 8 queries the database 60 using a game device indicator within the received static component of the property vector and the database 60 returns a list of roles that are available to Jane within the game. The list includes: a traveling saleswoman and a thief. The roles available match the limited capabilities of the mobile telephone. The traveling saleswoman has a limited view but she is mobile, and she is aware of her environment. This role is dependent on tasks that are allocated by other roles. Possible tasks are the efficient transport/disposal of goods and the location-dependent trade of goods. The thief is mobile and tries to disturb the work of other roles. The list of roles is transferred to the mobile device 6 where it is presented to Jane. Jane then chooses a role. In this example, she chooses to be a traveling saleswoman. Her role is now fixed for the game duration.

Joe 3 uses his stationary device 4 to log on to the remote game server 8. His device 4 compiles a property vector for the device 4 and sends at least the static component to the game server 8. The game server 8 queries the database 60 using a game device indicator within the received static component of the property vector and the database returns a list of roles that are available to Joe within the game. The list includes: a Fugger (rich merchant) and a spectator. The roles available match the advanced capabilities of the stationary device 4. The Fugger surveys all operations, but is stationary. For this role very good visualization is needed, which is only given to stationary gaming platforms (PS2,PC etc.). The Fugger assigns tasks to the traveling saleswoman. The Fugger cannot survive without cooperation with other roles. The spectator just watches a game. The list of roles is transferred to the stationary device 4 where it is presented to Joe. Joe then chooses a role. In this example, he chooses to be a Fugger. His role is now fixed for the game duration.

Other players may choose to play other roles in the game and the server may have automata that can automatically play roles within a multi-user game if required.

Base compensation between the devices 4, 6, if used, may be provided by supplying different types of information to the roles. The Fugger may be provided with overview information that provides general information that relates to a wide area. The traveling saleswoman is provided with specific information that relates to a small area.

Dynamic compensation may be used to provide the traveling saleswoman with more/less detailed information over a smaller/larger area. This dynamic compensation may be made dependent upon a value in the dynamic component of the property vector that relates, for example, to ambient lighting conditions at the mobile telephone 6. If the lighting conditions are good the dynamic compensation provides Jane 5 with more detailed information over a larger area. If the lighting conditions are bad the dynamic compensation provides Jane 5 with less detailed information over a smaller area. If the role of traveling saleswoman is played on a stationary device 4, less detailed information over a small area is always provided. This may provide Jane 5 with an advantage over someone 3 playing the same role on a more powerful machine 4.

The position of the mobile telephone 6 may also impact on the game play. For example, certain actions may only be enabled or disabled only at certain real life positions. This is achieved via the mapping of the dynamic component of the property vector to an Action set. If the value of the property vector for the location of the device 6 corresponds with a predetermined value, the mapped Action set enables the particular action.

The game may, for example, comprise one or more “user gaming objects”. A “user gaming object” is an object within the game that is apparent to the users of the game and which participates in the game play in a manner controlled by a user. It would for example be a character in a role playing game. Each user gaming object may have one or more attributes. An “attribute” is a characteristic of the user gaming object that affects its participation in a game. Examples of attributes for a character in a role playing game may include, for example, strength, speed, stamina, regeneration, resistance etc. The parameters of the game may include one or more parameters that specify an attribute or attributes of a user gaming object in the game.

The game may, for example, also comprise one or more “gaming objects”. A “gaming object” is an object within the game that is apparent to the users of the game and which participates in the game play. It would for example be an object carried by a character in a role playing game. Each gaming object may have one or more attributes. An “attribute” is a characteristic of an object that affects the game. The attribute may affect the gaming object's participation in the game. For example, if the gaming object were a weapon in a role playing game, its attributes may include the weapon's strength and range. The attribute may alternatively affect a user gaming object's participation in the game. For example, if the gaming object were an amulet in a role playing game, its attributes may, for example, include invisibility for the user gaming object carrying it.

A new Action set can, for example, introduce new gaming object(s) and can define the attribute(s) of the user gaming object and the gaming object(s). Thus different types of devices may receive different Action sets despite playing the same role and being in the same situation as the Actions sets compensate the game play for one device against the other device.

As an example, in a car racing game, the game server may provide different speeds of cars. The slower cars could be assigned to the stationary devices and the faster cars could be assigned to the mobile devices. This role selection would provide some compensation for the improved user interface at the stationary devices.

As another example, in a flight simulator game, the game server may provide aero-planes that have different latency of control. For example, the aeroplanes could include a jumbo jet which has a large inertia and is slow to respond to command signals and a jet fighter which is nimble and quick to respond to command signals. In one example, a device with large latency in the communication channel to the gaming server may be assigned a jet fighter role while another device with snail latency in the communication channel to the gaming server may be assigned a jumbo jet role.

These examples illustrate how game play at a device can compensate for the technical capabilities of the first device. In these examples, the compensation occurs via the roles assigned i.e. via the attributes of the user gaming objects assigned.

Although embodiments of the present invention have been described in the preceding paragraphs with reference to various examples, it should be appreciated that modifications to the examples given can be made without departing from the spirit and scope of the invention. 

1. A method of controlling a multi-user game, comprising: receiving non-game information concerning the technical capabilities of a first device; and providing game play at the first device, in dependence upon the received non-game information, that compensates for the technical capabilities of the first device.
 2. A method as claimed in claim 1, wherein the non-game information is received as a multi-dimensional vector.
 3. A method as claimed in claim 1, wherein the technical capabilities of the first device are augmentable using accessories.
 4. A method as claimed in claim 1, wherein the non-game information comprises time-invariant information concerning time invariant technical capabilities of the first device and the provided game play compensates for at least the time-invariant technical capabilities.
 5. A method as claimed in claim 1, wherein the non-game information comprises time-variant information concerning time-variant technical capabilities of the first device and the provided game play compensates for the time-variant technical capabilities of the first device as they vary in time.
 6. A method as claimed in claim 5, wherein the time-variant technical capabilities include at least one of: current processing speed of the first device, the data transfer rate from the first device, the data transfer rate to the first device.
 7. A method as claimed in claim 5, wherein the non-game information is provided as a time-variant multi-dimensional vector.
 8. A method as claimed in claim 7, wherein different game plays are associated with different volumes of a vector space defined, at least in part, by the multi-dimensional vector and the provided game play corresponds to a volume associated with the received multi-dimensional vector.
 9. A method as claimed in claim 7, wherein the received multi-dimensional vector is quantized to determine the provided game play.
 10. A method as claimed in claim 1, wherein the non-game information comprises time-variant information concerning a time-variant environment of the first device and the provided game play compensates for the technical capabilities by providing compensation to the first device that depends on its environment.
 11. A method as claimed in claim 10, wherein the time-variant information includes at least one sensor-based parameter.
 12. A method as claimed in claim 10, wherein the non-game information is provided as a time variant multi-dimensional vector.
 13. A method as claimed in claim 12, wherein different game plays are associated with different volumes of a vector space defined, at least in part, by the multi-dimensional vector and the provided game play corresponds to a volume associated with the received multi-dimensional vector.
 14. A method as claimed in claim 12, wherein the received multi-dimensional vector is quantized to determine the provided game play.
 15. A method as claimed in claim 1, wherein the provided game play introduces a new gaming object(s).
 16. A method as claimed in claim 1, wherein the provided game play defines the attribute(s) of a user gaming object and/or one or more gaming objects.
 17. A method as claimed in claim 1, wherein the provided game play defines which of a plurality of roles or user gaming objects are selectable for use in the game by a user of the first device.
 18. A method as claimed in claim 1, wherein the first device is a hand-portable electronic device.
 19. A method as claimed in claim 1, performed at a gaming server, wherein the first device is a remote client device and the non-game information is received from the remote client device.
 20. A device for controlling a multi-user game, the device comprising: a component for receiving non-game information concerning the technical capabilities of a first device; and a component for providing game play at the first device, in dependence upon the received non-game information, that compensates for the technical capabilities of the first device.
 21. A device as claimed in claim 20 operable as a gaming server.
 22. A gaming device for participating in a multi-user game, the gaming device comprising: a component for providing information concerning the technical capabilities of the gaming device; and a component for receiving game control data that includes compensation for the technical capabilities of the gaming device.
 23. A gaming device as claimed in claim 22, wherein the technical capabilities of the gaming device are augmentable using accessories.
 24. A gaming device as claimed in claim 22, wherein the information is provided as a time variant multi-dimensional vector.
 25. A gaming device as claimed in claim 22, wherein the information comprises time-variant information concerning the environment of the gaming device.
 26. A gaming device as claimed in claim 25, further comprising a sensor for providing the time-variant information.
 27. A gaming device as claimed in claim 22, wherein the game control data defines at least a new gaming object.
 28. A gaming device as claimed in claim 22, wherein the game control data defines at least the attribute(s) of a user gaming object and/or one or more gaming objects.
 29. A gaming device as claimed in claim 22, wherein the game control data defines which of a plurality of roles or user gaming objects are selectable for use in the game by a user of the device.
 30. A gaming device as claimed in claim 22, wherein the gaming device is a hand-portable electronic device.
 31. A gaming device as claimed in claim 22, wherein the gaming device is operable as a client to a gaming server and is operable to send the information concerning the technical capabilities of the gaming device to the gaming server and to receive the game control data from the gaming server.
 32. A computer program product, comprising computer program instructions stored on a readable medium, which when loaded into a processor of a host device provide: information indicating the technical capabilities of the host device; and game control data that includes compensation for the technical capabilities of the host device.
 33. A computer program product, comprising computer program instructions stored on a readable medium, which when loaded into a processor of a host device provide: game play, in dependence upon received non-game information concerning the technical capabilities of a device, that compensates for the technical capabilities of the device.
 34. A method of initiating a multi-user game that has a plurality of potential roles, the method comprising: specifying a first sub-set of the plurality potential roles; specifying a second sub-set of the plurality of potential roles, that is different to the first sub-set; providing, if a first device has first technical capabilities, the first sub-set of potential roles to the first device; and providing, if a second device has second technical capabilities, different to the first technical capabilities, the second sub-set of potential roles to the second device.
 35. A method as claimed in claim 34, further comprising maintaining a data structure that associates the first technical capabilities with the first sub-set and the second technical capabilities with the second sub-set.
 36. A method as claimed in claim 35, further comprising: receiving an indication of the technical capabilities of a device, from a remote device; determining the sub-set associated with the received technical capabilities; and sending the determined sub-set to the remote device.
 37. A gaming server for controlling a multi-user game that has a plurality of potential roles, comprising: a data structure that associates each one of a plurality of device technical capabilities with a different sub-set of the plurality of potential roles; a component for receiving an indication of the technical capabilities of a device, from a remote device; a component for determining the sub-set associated with the received technical capabilities in the database; and a component for assigning to the remote device a role in the game from within the determined sub-set.
 38. A method of initiating, at a device, a multi-user game that has a plurality of potential roles, the method comprising: sending an indication of the technical capabilities of the device to a game server; receiving, in reply, a sub-set of the plurality potential roles, wherein the sub-set depends upon the sent indication; and providing a user-selectable option, for adopting one of the roles specified by the received sub-set.
 39. A computer program product comprising computer program instructions stored on a readable medium, which when loaded into a processor provides the method as claimed in claim
 38. 40. A device for participating in a multi-user game that has a plurality of potential roles, comprising: a component for sending an indication of the technical capabilities of the device; a component for receiving, in reply, a sub-set of the plurality of potential roles, wherein the sub-set depends upon the sent indication; and a component for providing a user-selectable option, for adopting one of the roles specified by the received sub-set.
 41. A device as claimed in claim 40, wherein the device is a hand-portable electronic device.
 42. A method of controlling a multi-user game, the method comprising: receiving first non-game information comprising time-variant information concerning the time-variant environment of a first device; and providing game play at the first device, wherein the provided game play depends upon the received first non-game information.
 43. A method as claimed in claim 42, wherein the game play provided at the first client device compensates for differences in technical capabilities between the first client device and the second client device.
 44. A method as claimed in claim 42, wherein the time-variant information includes at least one sensor-based parameter.
 45. A method as claimed in claim 42, wherein the non-game information is received as a time-variant multi-dimensional vector.
 46. A method as claimed in claim 45, wherein different game plays are associated with different volumes of a vector space defined, at least in part, by the multi-dimensional vector and the game play provided at the first client device corresponds to the volume associated with the received multi-dimensional vector.
 47. A method as claimed in claim 45, wherein the received multi-dimensional vector is quantized to determine the game play provided at the first client device.
 48. A method as claimed in claim 47, performed at a gaming server, wherein the first device is a first remote client device and the gaming server additionally provides game play at, at least, a second remote client device.
 49. A device for controlling a multi-user game, the device comprising: a component for receiving first non-game information comprising time-variant information concerning the time-variant environment of the first client device; and a component for providing game play at the first device, wherein the provided game play depends upon the received first non-game information.
 50. A gaming device for participating in a multi-user game, the gaming device comprising: a component for providing non-game information comprising information concerning the environment of the gaming device; and a component for receiving game control data that depends upon the non-game information.
 51. A device for controlling a multi-user game, the device comprising: means for receiving non-game information concerning the technical capabilities of a first device; and means for providing game play at the first device, in dependence upon the received non-game information, that compensates for the technical capabilities of the first device. 